package com.sgb.kjwl.model.entity.enterprise;

import com.google.gson.annotations.SerializedName;
import com.chad.library.adapter.base.entity.MultiItemEntity;
import com.swgk.core.base.model.entity.VideoBean;
import com.sgb.kjwl.model.entity.transport.SingleItemConstant;

import java.io.Serializable;
import java.util.List;

public class EpQuoteEntity implements Serializable, MultiItemEntity {
    /**
     * 公司认证时间
     */
    @SerializedName("companyAuthTime")
    private long companyAuthTime;
    /**
     * 公司名称
     */
    @SerializedName("companyName")
    private String companyName;
    /**
     * 公司no
     */
    @SerializedName("companyNo")
    private String companyNo;
    /**
     * 创建时间
     */
    @SerializedName("createTime")
    private long createTime;
    /**
     * 联系电话
     */
    @SerializedName(value = "contactPhone", alternate = {"phone", "servicePhone"})
    private String contactPhone;
    /**
     * 创建人
     */
    @SerializedName("createUser")
    private String createUser;

    /**
     * 一级分类名称
     */
    @SerializedName(value = "firstCategoryName", alternate = "className")
    private String firstCategoryName;
    /**
     * 头像
     */
    @SerializedName("headImage")
    private String headImage;
    /**
     * logo
     */
    @SerializedName("logo")
    private String logo;
    /**
     * 名称
     */
    @SerializedName("name")
    private String name;
    /**
     * 主营业务
     */
    @SerializedName("mainBusiness")
    private String mainBusiness = "/";
    /**
     * no
     */
    @SerializedName("no")
    private String no;
    /**
     * 价格
     */
    @SerializedName(value = "price", alternate = "servicePrice")
    private double price;
    /**
     * 项目
     */
    @SerializedName(value = "project", alternate = "details")
    private String project;
    /**
     * 发布类型  0 个人  1 企业
     */
    @SerializedName("publishType")
    private Integer publishType;
    /**
     * 真实姓名
     */
    @SerializedName(value = "realName")
    private String realName;
    /**
     * 二级分类名
     */
    @SerializedName(value = "secondCategoryName", alternate = "categoryName")
    private String secondCategoryName;

    /**
     * 服务城市
     */
    @SerializedName(value = "serviceCitys", alternate = {"city", "serviceCity"})
    private String serviceCitys;
    /**
     * 用户认证时间
     */
    @SerializedName("userAuthTime")
    private long userAuthTime;

    /**
     * 主键id
     */
    @SerializedName("id")
    String id;//
    /**
     * 名称(名称(PC端做搜索用))
     */
    @SerializedName("offerName")
    String offerName;//
    /**
     * 状态（0：禁用（下架）1：启用（上架））
     */
    @SerializedName(value = "status", alternate = "serviceStatus")
    String status;//
    /**
     * 创建人编号,即是userId
     */
    @SerializedName("userId")
    String userId;//
    /**
     * 是否实名认证  1是   0否
     */
    @SerializedName("userIsAuth")
    int userIsAuth;//
    /**
     * 是否企业认证  1是   0否
     */
    @SerializedName("companyIsAuth")
    int companyIsAuth;//
    /**
     * 经营类型
     */
    @SerializedName("companyServiceType")
    String companyServiceType;//

    /**
     * 企业logo
     */
    @SerializedName("companyLogo")
    String companyLogo;//
    /**
     * 头像
     */
    @SerializedName("userImg")
    String userImg;//
    /**
     * 店铺id
     */
    @SerializedName("companyId")
    String companyId;//
    /**
     * 服务描述
     */
    @SerializedName(value = "description",alternate = "serviceDescription")
    String description;//

    /**
     * 更新时间
     */
    @SerializedName("updateTime")
    long updateTime;//
    /**
     * companyAuthTime : 0
     * contact :
     * firstCategoryNo :
     * id : 0
     * price : 0
     * profile :
     * secondCategoryNo :
     * telPhone :
     * userAuthTime : 0
     */
    /**
     * 联系人
     */
    @SerializedName(value = "contact", alternate = "linkMan")
    private String contact;
    private String firstCategoryNo;
    private String profile;
    private String secondCategoryNo;
    private String telPhone;



    /**
     * 服务类别id
     */
    @SerializedName("serviceItem")
    String serviceItem;
    /**
     * 服务类别
     */
    @SerializedName("itemName")
    String itemName;

    /**
     * 服务项目
     */
    private String serviceDetails;

    private String teamId;
    private int teamAuth;
    private int personalAuth;
    private String businessType;
    private long teamAuthTime;
    private String userRealName;
    private String serviceClass;
    private String serviceCategory;
    private String teamNo;

    private String domesticCompaniesPrice;
    private String maximumPrice;

    public String getDomesticCompaniesPrice() {
        return domesticCompaniesPrice;
    }

    public void setDomesticCompaniesPrice(String domesticCompaniesPrice) {
        this.domesticCompaniesPrice = domesticCompaniesPrice;
    }

    public String getMaximumPrice() {
        return maximumPrice;
    }

    public void setMaximumPrice(String maximumPrice) {
        this.maximumPrice = maximumPrice;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getServiceCategory() {
        return serviceCategory;
    }

    public void setServiceCategory(String serviceCategory) {
        this.serviceCategory = serviceCategory;
    }

    public String getServiceClass() {
        return serviceClass;
    }

    public void setServiceClass(String serviceClass) {
        this.serviceClass = serviceClass;
    }

    /**
     * 服务名称
     */
    private String serviceName;
    private String latitude;
    private String longitude;
    private String address;
    private long authTime;
    private String selfEmployed;
    private String distance;
    private List<VideoBean> videos;
    private String userAccount;

    private String projectClassificationCount;

    public String getProjectClassificationCount() {
        return projectClassificationCount;
    }

    public void setProjectClassificationCount(String projectClassificationCount) {
        this.projectClassificationCount = projectClassificationCount;
    }

    /**
     * 项目sku价格json
     */
    @SerializedName(value = "otherQualificationPrices")
    private String otherQualificationPrices;
    /**
     * 项目列表json
     */
    @SerializedName(value = "projectClassificationJson")
    private String projectClassificationJson;
    /**
     * 服务流程节点
     */
    @SerializedName(value = "serviceProcesses")
    private List<ServiceProcessesEntity> serviceProcesses;

    public List<ServiceProcessesEntity> getServiceProcesses() {
        return serviceProcesses;
    }

    public void setServiceProcesses(List<ServiceProcessesEntity> serviceProcesses) {
        this.serviceProcesses = serviceProcesses;
    }

    public String getOtherQualificationPrices() {
        return otherQualificationPrices;
    }

    public void setOtherQualificationPrices(String otherQualificationPrices) {
        this.otherQualificationPrices = otherQualificationPrices;
    }

    public String getProjectClassificationJson() {
        return projectClassificationJson;
    }

    public void setProjectClassificationJson(String projectClassificationJson) {
        this.projectClassificationJson = projectClassificationJson;
    }

    public String getUserAccount() {
        return userAccount;
    }

    public void setUserAccount(String userAccount) {
        this.userAccount = userAccount;
    }

    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public String getAdress() {
        return address;
    }

    public void setAdress(String adress) {
        this.address = adress;
    }

    public long getAuthTime() {
        return authTime;
    }

    public void setAuthTime(long authTime) {
        this.authTime = authTime;
    }

    public String getSelfEmployed() {
        return selfEmployed;
    }

    public void setSelfEmployed(String selfEmployed) {
        this.selfEmployed = selfEmployed;
    }

    public String getDistance() {
        return distance;
    }

    public void setDistance(String distance) {
        this.distance = distance;
    }

    public String getServiceName() {
        return serviceName;
    }

    public void setServiceName(String serviceName) {
        this.serviceName = serviceName;
    }

    public String getUserRealName() {
        return userRealName;
    }

    public void setUserRealName(String userRealName) {
        this.userRealName = userRealName;
    }

    public String getTeamId() {
        return teamId;
    }

    public void setTeamId(String teamId) {
        this.teamId = teamId;
    }

    public int getTeamAuth() {
        return teamAuth;
    }

    public void setTeamAuth(int teamAuth) {
        this.teamAuth = teamAuth;
    }

    public int getPersonalAuth() {
        return personalAuth;
    }

    public void setPersonalAuth(int personalAuth) {
        this.personalAuth = personalAuth;
    }

    public String getBusinessType() {
        return businessType;
    }

    public void setBusinessType(String businessType) {
        this.businessType = businessType;
    }

    public long getTeamAuthTime() {
        return teamAuthTime;
    }

    public void setTeamAuthTime(long teamAuthTime) {
        this.teamAuthTime = teamAuthTime;
    }

    public String getServiceItem() {
        return serviceItem;
    }

    public void setServiceItem(String serviceItem) {
        this.serviceItem = serviceItem;
    }

    public String getItemName() {
        return itemName;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public long getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(long updateTime) {
        this.updateTime = updateTime;
    }

    public int getUserIsAuth() {
        return userIsAuth;
    }

    public void setUserIsAuth(int userIsAuth) {
        this.userIsAuth = userIsAuth;
    }

    public int getCompanyIsAuth() {
        return companyIsAuth;
    }

    public void setCompanyIsAuth(int companyIsAuth) {
        this.companyIsAuth = companyIsAuth;
    }

    public String getCompanyServiceType() {
        return companyServiceType;
    }

    public void setCompanyServiceType(String companyServiceType) {
        this.companyServiceType = companyServiceType;
    }

    public String getCompanyLogo() {
        return companyLogo;
    }

    public void setCompanyLogo(String companyLogo) {
        this.companyLogo = companyLogo;
    }

    public String getUserImg() {
        return userImg;
    }

    public void setUserImg(String userImg) {
        this.userImg = userImg;
    }

    public long getCompanyAuthTime() {
        return companyAuthTime;
    }

    public void setCompanyAuthTime(long companyAuthTime) {
        this.companyAuthTime = companyAuthTime;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getCompanyNo() {
        return companyNo;
    }

    public void setCompanyNo(String companyNo) {
        this.companyNo = companyNo;
    }

    public long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(long createTime) {
        this.createTime = createTime;
    }

    public String getContactPhone() {
        return contactPhone;
    }

    public void setContactPhone(String contactPhone) {
        this.contactPhone = contactPhone;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public String getFirstCategoryName() {
        return firstCategoryName;
    }

    public void setFirstCategoryName(String firstCategoryName) {
        this.firstCategoryName = firstCategoryName;
    }

    public String getHeadImage() {
        return headImage;
    }

    public void setHeadImage(String headImage) {
        this.headImage = headImage;
    }

    public String getLogo() {
        return logo;
    }

    public void setLogo(String logo) {
        this.logo = logo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getMainBusiness() {
        return mainBusiness;
    }

    public void setMainBusiness(String mainBusiness) {
        this.mainBusiness = mainBusiness;
    }

    public String getNo() {
        return no;
    }

    public void setNo(String no) {
        this.no = no;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public String getProject() {
        return project;
    }

    public void setProject(String project) {
        this.project = project;
    }

    public Integer getPublishType() {
        return publishType;
    }

    public void setPublishType(Integer publishType) {
        this.publishType = publishType;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public String getSecondCategoryName() {
        return secondCategoryName;
    }

    public void setSecondCategoryName(String secondCategoryName) {
        this.secondCategoryName = secondCategoryName;
    }

    public String getServiceCitys() {
        return serviceCitys;
    }

    public void setServiceCitys(String serviceCitys) {
        this.serviceCitys = serviceCitys;
    }

    public long getUserAuthTime() {
        return userAuthTime;
    }

    public void setUserAuthTime(long userAuthTime) {
        this.userAuthTime = userAuthTime;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getOfferName() {
        return offerName;
    }

    public void setOfferName(String offerName) {
        this.offerName = offerName;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }


    public String getContact() {
        return contact;
    }

    public void setContact(String contact) {
        this.contact = contact;
    }

    public String getFirstCategoryNo() {
        return firstCategoryNo;
    }

    public void setFirstCategoryNo(String firstCategoryNo) {
        this.firstCategoryNo = firstCategoryNo;
    }

    public String getProfile() {
        return profile;
    }

    public void setProfile(String profile) {
        this.profile = profile;
    }

    public String getSecondCategoryNo() {
        return secondCategoryNo;
    }

    public void setSecondCategoryNo(String secondCategoryNo) {
        this.secondCategoryNo = secondCategoryNo;
    }

    public String getTelPhone() {
        return telPhone;
    }

    public void setTelPhone(String telPhone) {
        this.telPhone = telPhone;
    }

    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }


    public String getServiceDetails() {
        return serviceDetails;
    }

    public void setServiceDetails(String serviceDetails) {
        this.serviceDetails = serviceDetails;
    }

    public String getTeamNo() {
        return teamNo;
    }

    public void setTeamNo(String teamNo) {
        this.teamNo = teamNo;
    }

    public List<VideoBean> getVideos() {
        return videos;
    }

    public void setVideos(List<VideoBean> videos) {
        this.videos = videos;
    }

    @Override
    public int getItemType() {
        //普通列表信息
        int itemType = SingleItemConstant.TYPE_ONE;
        if (videos != null && videos.size() == 1) {
            //单图
            itemType = SingleItemConstant.TYPE_THREE;
        } else if (videos != null&& videos.size()>1) {
            //多图
            itemType = SingleItemConstant.TYPE_TWO;
        }
        return itemType;
    }
}
